package cn.lqz.bucttrain.pojo.dto;

import cn.lqz.bucttrain.contants.TrainConstants;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class RoutePageQueryDTO extends PageDTO{
    /**
     * 路线id
     */
    private Long routeId;
    /**
     * 车次
     */
    private String trainNumber;
    /**
     * 列车id
     */
    private Long trainId;
    /**
     * 列车类型
     */
    private Integer trainType;
    /**
     * 始发站城市
     */
    private String startStationCity;
    /**
     * 始发站名称
     */
    private String startStationName;

    /**
     * 中转站城市
     */
    private String transferStationCity;
    /**
     * 中转站名称
     */
    private String transferStationName;

    /**
     * 终点站城市
     */
    private String endStationCity;
    /**
     * 终点站名称
     */
    private String endStationName;

    /**
     * 始发站出发时间开始
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime startStationStartTimeStart;
    /**
     * 始发站出发时间结束
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime startStationStartTimeEnd;
    /**
     * 终点站到达时间开始
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime endStationEndTimeStart;
    /**
     * 终点站到达时间结束
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    private LocalDateTime endStationEndTimeEnd;
    /**
     * 商务座数量最少
     */
    private Integer businessNumStart;
    /**
     * 商务座数量最多
     */
    private Integer businessNumEnd;
    /**
     * 普通座数量最少
     */
    private Integer commonNumStart;
    /**
     * 普通座数量最多
     */
    private Integer commonNumEnd;

    /**
     * 商务座票价最少
     */
    private Integer businessPriceStart;
    /**
     * 商务座票价最多
     */
    private Integer businessPriceEnd;
    /**
     * 普通座票价最少
     */
    private Integer commonPriceStart;
    /**
     * 普通座票价最多
     */
    private Integer commonPriceEnd;
    /**
     * 路线状态
     */
    private Integer status;


    /**
     * 是否中转：0全选，1中转，2不中转
     */
    private Integer transferChoice;

}
